/**
 * 数组中有一个数字出现的次数超过数组长度的一半，请找出这个数字。
 *
 *
 *
 * 你可以假设数组是非空的，并且给定的数组总是存在多数元素。
 */
class MajorityElement {
    /**
    法一：排序
     */
    public int majorityElement(int[] nums) {
        Arrays.sort(nums);
        return nums[nums.length / 2];
    }
    /**
    法二：哈希法
     */
    // public int majorityElement(int[] array) {
    //     Map<Integer,Integer> map=new HashMap<>();
    //     int len=array.length;
    //     for(int i=0;i<len;i++) {
    //         map.put(array[i],map.getOrDefault(array[i],0)+1);
    //     }
    //     int maxCount=Integer.MIN_VALUE;
    //     int max=0;
    //     for(Map.Entry <Integer,Integer> entry:map.entrySet()) {
    //         int a=entry.getValue();
    //         if(a>maxCount) {
    //             max=entry.getKey();
    //             maxCount=entry.getValue();
    //         }
    //     }
    //     return max;
    // }
}

